As a method for digitalizing, recording and transmitting a large amount of video information, encoding formats such as Moving Picture Experts Group (MPEG) have been established. For example, MPEG-1 format, MPEG-2 format, MPEG-4 format H.264/Advanced Video Coding (AVC) format and the like have been established as international standard encoding formats. These formats are used for digital satellite broadcasting, digital versatile discs (DVD), mobile phones, digital cameras and the like as encoding formats. The range of use of the formats has been expanded, and the formats are more commonly used.
According to the formats, an image to be encoded is predicted on a block basis using information on an encoded image, and the difference (prediction difference) between an original image and the predicted image is encoded. In the formats, by removing redundancy of video, the amount of coded bits is reduced. Especially, in inter-prediction in which an image that is different from an image to be encoded is referenced, a block that highly correlates with a block to be encoded is detected from the referenced image. Thus, the prediction is performed with high accuracy. In this case, however, it is necessary to encode the prediction difference and the result of detecting the block as a motion vector. Thus, an overhead may affect the amount of coded bits.
In H.264/AVC format, a technique for predicting the motion vector is used in order to reduce the amount of coded bits for the motion vector. That is, in order to encode the motion vector, the motion vector of a block to be encoded is predicted using an encoded block that is located near the block to be encoded. Variable length coding is performed on the difference (differential motion vector) between the predictive motion vector and the motion vector.